<?php
//
// +------------------------------------------------------------------------+
// | PHP Version 5.4                                                        |
// +------------------------------------------------------------------------+
// | Copyright (c) All rights reserved.                                     |
// +------------------------------------------------------------------------+
// | 世纪车来车往(北京）网络科技有限公司 版权所有！                         |
// | TEL:010-63732365  HOTLINE:400-6688-365  EMAIL:clcw@clcw.com.cn         |
// | $Revision: 1.0 $                                                       |
// +------------------------------------------------------------------------+
// | Author: songaimin@clcw.com.cn  Blog:http://blog.csdn.net/samxx8        |
// +------------------------------------------------------------------------+
//

namespace AuctionCore\Account\Back;

/**
 * 员工登录日志
 * @author 爱民
 */
class EmpLoginLog
{

    //登录日志
    //$log_info(用户id,平台 0 web 1 android 2 ios,登录ip,token)
    public static function save($emp_id,$uniq_token, $ip)
    {
        //id,用户，登录时间,最后活动时间,在线时长,登录平台，登录ip,uniq_login_token,应用id(1网站用户,2来拍车用户)
        $now = date('Y-m-d H:i:s', time());
        $id = M('emp_login_log')->add([
            'emp_id' => $emp_id,
            'login_time' => $now,
            'las_act_time' => $now,
            'login_ip' => $ip,
            'uniq_token' => $uniq_token
        ]);
        return $id;
    }

    /**
     * 更新活动时间
     * redis做缓冲,每20条纪录更新一次
     * @param $uniq_token
     */
    public static function up_act_time($uniq_token)
    {
        $ris = new \AuctionCore\Common\PhpRedis();
        $ris = $ris->getRedis();
        $now = date('Y-m-d H:i:s', time());

        $keyName = getRedisKeyByCode('REDIS_KEY','100011');
        //$list_key = 'emp_login_log_up_list';
        $ris->lPush($keyName, $uniq_token . '|=|' . $now);
        $len = $ris->lLen($keyName);
        if ($len >= 20) {
            $log = M('emp_login_log');
            for ($i = 0; $i < $len; $i++) {
                $val = $ris->rPop($keyName);
                $row = explode('|=|', $val);
                $uniq_token = $row[0];
                $now = $row[1];
                $data = array('las_act_time' => $now);
                $log->where(['uniq_token'=>$uniq_token])->save($data);
            }
        }
    }

}